![]() ブラウザ・ベースのプロキシ・サーバを使用した既存アプリケーションをカスタマイズおよび配布するための方法、システム、およびコンピュータ・プログラム(既存アプリケーションをカスタマイズおよび配布するための
专利摘要:
プロキシ・サーバ内にウェブ・ブラウザを埋め込み、それによってプロキシ・ブラウザを形成することによって、少なくとも1つのクライアント・コンピュータのソフトウェア・アプリケーションを実行するための、システム、方法、およびコンピュータ・プログラム製品を提供する。プロキシ・ブラウザが、プロキシ・サーバ内部でアプリケーションを実行するために使用される。本発明の一実施形態では、プロキシ・サーバに接続している各クライアント・ブラウザにプロキシ・ブラウザのインスタンスが割り当てられ、クライアント・ブラウザに関するセッション情報が維持される。クライアント・ブラウザがプロキシ・サーバに要求する場合、要求はプロキシ・ブラウザのインスタンスにリンクされる。 公开号:JP2011511974A 申请号:JP2010541802 申请日:2009-01-14 公开日:2011-04-14 发明作者:ニコラス、ジェフリー、ウィリアム;バートン、ジョン、ジョセフ;ファ、チンガン 申请人:インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation; IPC主号:G06F13-00
专利说明:
[0001] 本発明は、一般にプロキシ・サーバに関し、具体的に言えば、プロキシ・サーバを使用して、機能が制限されたデバイスが動的ウェブ・アプリケーションをサポートできるようにするための、システムおよび方法に関する。] 背景技術 [0002] ウェブ・アプリケーションは、インターネットを使用したほとんどのクライアント/サーバの対話に使用される。ウェブ・アプリケーションでは、一部またはすべてのアプリケーションが、通常はウェブ・ブラウザおよびJavaアプレットを使用して、実行されるごとにウェブからダウンロードされる。さらに近年では、多くのWeb 2.0アプリケーションに見られるような動的ウェブ・アプリケーションは、ユーザのウェブ体験に新種の動的な対話型要素をもたらしている。これらのアプリケーションは、一般に、JavaScriptなどの標準言語でのクライアント側スクリプティングの使用を含む。] [0003] 近年、携帯電話、携帯情報端末(PDA)、テレビジョン・セットトップ・ボックス、その他などの、機能が向上した電子デバイスも急増している。しかしながら、この種のデバイスは、スクリーン面積の制限、フォーマットの互換性、コンピューティング機能の制限、またはJavaScriptのサポート不能などの、様々な理由により、動的ウェブ・アプリケーションを完全に利用できないことがしばしばである。したがって、こうしたデバイスで使用するように、既存の動的ウェブ・アプリケーションを適合させる方法が求められている。] [0004] 加えて、特定ユーザ、ユーザ・グループ、または特定タスクについて、動的ウェブ・アプリケーションをカスタマイズできるようにすることも必要である。プロキシ・サーバ・ベース技術は、この種のカスタマイズを提供するための可能なソリューションとして考察されてきた。しかしながら、プロキシ・サーバ技術は、一般に、Web 2.0アプリケーションでは良好に働かない。これは、1)Web 2.0アプリケーションの動的機能を実装するJavaScriptコードがプロキシ・サーバをパススルー(pass through)しないこと、または、2)スクリプトが予想するウェブ・ページのドキュメント・オブジェクト・モデル(DOM)の一部の要素が、プロキシ・サーバによって除去される可能性があることの、いずれかによる。] [0005] デバイスに追加の機能を付加するための手法の1つは、プロキシ・サーバを使用して、クライアント要求あるいはサーバ応答またはその両方を変換することである。米国特許第5,727,159号は、低出力ポータブル・コンピュータが使用可能な形にコンテンツを変換するためのプロキシ・サーバについて記載している。米国特許第5,918,013号および第6,829,746号は、外国語を話す人のために他の言語へ、様々なディスプレイ要件を備えたモバイル・デバイスへ、または、障害を持つユーザがよりアクセスしやすいように大きなボタンを備えた形へなど、既存のフォーマットから特定の状況にとってより好適な他のフォーマットへと、ドキュメントをトランスコーディング(transcoding)するための技術について、記載している。残念ながら、これらの技術は、動的コンテンツを適切に処理できないという点において前述して問題も備えている。これは主に、これらの技術が、クライアント側スクリプトを実行すること、および各クライアントに関する十分な状態情報を維持することが、不可能なためである。] [0006] リモート・デスクトップ使用技術は、機能の制限されたデバイスが動的ウェブ・アプリケーションを使用できるようにするために使用される可能性のある、他の既存の技術である。リモート・デスクトップ技術の例には、クライアント・デバイス上でサーバ・マシンからのウェブ・ブラウザの出力を表示するために使用可能な、MicrosoftのRemote Desktop、XWindows、またはAT&TのVNCが含まれる。これらの技術は、サーバ・マシンから精密なピクセルを表示することに限定されているが、カスタマイゼーションにおいてもある程度の働きをしている。その例には、WincutまたはUser Interface Facadeが含まれる。たとえば、これらのカスタマイゼーションは、リモート表示インターフェースにおいて、オリジナル・インターフェースからのボタンのサブセットを表示することができる。他のプロキシ・サーバ手法とは異なり、この手法は、実際のウェブ・ブラウザがサーバ・マシン上で使用されているため、クライアント側JavaScriptを処理することができる。しかしながら、これらの技術は、依然としてそれらのサーバ・マシンのイメージへの依存によって制限されている。たとえば、ボタン上のラベルを変更することは、不可能ではないにしても困難である。クライアント・マシン上のユーザは、ボタンの指示およびクリック、またはスクロールバーのドラッグなどの、サーバ・マシンが予想する入力を提供できなければならないため、サーバ・マシンおよびクライアント・マシンの入力および出力機能も同様でなければならない。] 先行技術 [0007] 米国特許第5,727,159号 米国特許第5,918,013号 米国特許第6,829,746号] 発明が解決しようとする課題 [0008] したがって、機能が制限されたデバイスが、動的ウェブ・アプリケーションを適切に処理できるようにするための方法が求められている。クライアント側スクリプトを実行すること、および各クライアントに関する十分な状態情報を維持することが可能な、プロキシ・サーバも求められている。] 課題を解決するための手段 [0009] 上記で簡単に説明した従来技術の制限を克服するために、本発明は、ブラウザ・ベースのプロキシ・サーバを使用した動的ウェブ・アプリケーションのカスタマイゼーションおよび配布のための、方法、コンピュータ・プログラム製品、およびシステムを提供する。] [0010] 本発明の一態様において、少なくとも1つのクライアント・コンピュータ・ソフトウェア・アプリケーションを実行するための方法は、プロキシ・サーバ内にウェブ・ブラウザを埋め込み、それによってプロキシ・ブラウザを形成すること、および、プロキシ・サーバ内部でアプリケーションを実行するためにプロキシ・ブラウザを使用することを含む。] [0011] 本発明の他の態様において、プロキシ・サーバ内にウェブ・ブラウザを埋め込む方法は、プロキシ・サーバ内にウェブ・プラウザを配置し、それによってプロキシ・ブラウザを形成すること、プロキシ・サーバ内のイベント・トランスレータをプロキシ・ブラウザに論理的に接続すること、および、プロキシ・サーバ内のトランスコーダをプロキシ・ブラウザおよびイベント・トランスレートへと論理的にインターフェースすることを含む。] [0012] 本発明の他の態様において、ウェブ・アプリケーションへのアクセスを提供する方法は、プロキシ・サーバ内に格納されたプロキシ・ブラウザによってクライアント・ブラウザから要求を受信すること、要求を動作に変換すること、動作をプロキシ・ブラウザ内のウェブ・ページに適用すること、ウェブ・ページの関連部分を抽出すること、および、抽出されたウェブ・ページの関連部分を使用して、クライアント・ブラウザによって読み取り可能な出力を生成することを含む。] [0013] 本発明の追加の態様において、プロキシ・サーバは、外部ウェブ・サーバに結合されたプロキシ・ブラウザと、クライアント・ブラウザからの要求を受信するためのイベント・トランスレータと、プロキシ・ブラウザによって外部ウェブ・サーバから受信したコンテンツの関連部分を抽出し、クライアント・ブラウザに送信される出力を生成するためのトランスコーダとを備える。] [0014] 本発明の他の態様において、コンピュータ・プログラム製品は、コンピュータ読み取り可能プログラムを有するコンピュータ使用可能メディアを備え、コンピュータ読み取り可能プログラムは、コンピュータ上で実行された場合、プロキシ・サーバ内にウェブ・ブラウザを埋め込み、それによってプロキシ・ブラウザを形成すること、および、プロキシ・サーバ内部でクライアント・アプリケーションを実行するためにプロキシ・ブラウザを使用することを、コンピュータに実行させる。] [0015] 本発明を特徴付ける様々な利点および新規な機能は、本明細書に添付されその一部を形成する特許請求の範囲において詳細に指摘される。しかしながら、本発明およびその利点をより良く理解するために、本明細書の他の部分を形成し、本発明に従った特定の例が説明および例示された、対応する図面と共に、添付の説明を参照しなければならない。] [0016] 次に、本発明の好ましい諸実施形態について、以下の図面を参照しながら単なる例として説明する。] 図面の簡単な説明 [0017] 本発明の実施形態に従った、ブラウザ・ベースのプロキシ・サーバ・システムを示す概念的ブロック図である。 本発明の実施形態に従った、図1に示されたシステムを使用した動的ウェブ・アプリケーションのカスタマイゼーションおよび配布のためのプロセスのタイムラインを示す図である。 本発明の一実施形態を実装するために有用な情報処理システムを示す高水準ブロック図である。] 図1 実施例 [0018] 本発明の諸実施形態は、機能が制限されたデバイスが動的ウェブ・アプリケーションを処理できるようにするためのシステム、コンピュータ・プログラム製品、および方法を教示することによって、従来技術に関連付けられた問題に対処する。本発明の諸実施形態は、プロキシ・ブラウザと呼ばれるウェブ・ブラウザをプロキシ・サーバ内に配置し、これを使用して、プロキシ・サーバ内でJavaScriptなどのクライアント側アプリケーションを実行する。プロキシ・サーバに接続している各クライアント・ブラウザには、その独自のプロキシ・ブラウザ・インスタンスが与えられ、クライアント・ブラウザからの今後の要求を適切なプロキシ・ブラウザにリンクできるように、セッション情報が維持される。クライアント・ブラウザによる第1の要求は、ウェブ・ページを開くこと、既存のウェブ・ページに埋め込まれた任意のクライアント側コード(JavaScriptなど)を実行すること、および、その後、最終ページ・コンテンツの一部をクライアント・ブラウザに戻すことを、対応するプロキシ・ブラウザに実行させる。プロキシ・ブラウザは、ブラウザ内に表示されるウェブ・ページにアクセスし、これを操作し、制御するために、DOMなどのアプリケーション・プログラム・インターフェース(API)を提供する。クライアント・ブラウザによるその後の要求は、プロキシ・ブラウザによって現在開いているページ上で実行するための動作に変換される。これらの動作は、ページ内のDOMオブジェクトをクリックすること、およびフォームを提出することを、含むことができる。プロキシ・ブラウザは、ページのロードを完了すると、最終ページ・コンテンツの一部を再度クライアント・ブラウザに戻す。] [0019] 結果として、本発明の諸実施形態は、既存の技術を上回るいくつかの重要な利点を有する。以前のプロキシ・サーバは、通常は、ページを修正するコードにURLがマッピングされる、マップ・スタイル・システムを使用した。クライアントがページを要求するごとに、サーバは外部ページからコンテンツを取得し、そのページを修正するためのコードを検索し、これを実行して、修正済みページを戻す。ユーザがそのページにたどり着くために使用したパスは無関係である。本発明の諸実施形態は、ユーザが作成可能な入力およびそれらの入力に関する可能な出力を含む、アプリケーションを介してユーザが使用することのできる可能な対話型パスを記述する記述言語を採用する。これによって、クライアント要求を、プロキシ・ブラウザ内のシミュレートされたマウスおよびキーボード・イベントに変換することができるため、アプリケーション記述が、Web 2.0アプリケーションからの動的コンテンツをサポートすることが可能となる。また、最新のページ要求の代わりに、XmlHttpRequestsによって変更されたページの一部分から、新しい出力を生成することができる。] [0020] 本発明の諸実施形態は、多くの異なる目的に使用可能である。たとえば、本発明の諸実施形態を使用して、患者のスケジューリングまたは病歴の概略などの、電子医療記録(EMR)アプリケーションの選択片を、医者が持ち運ぶことのできるモバイル・デバイスに移すことができる。また本発明の諸実施形態を使用して、エグゼクティブとそのアシスタントのために、アシスタントが新しい旅行をスケジューリングするためのインターフェースを受信し、エグゼクティブが旅行中に予約を確認するため、および更新された旅程を取得するためのインターフェースを受信するように、旅行スケジューリング・アプリケーションを適合させることができる。本発明の実施形態に関する他の用途は、ビジネスのウェブ・ベースの購買システムで見られる場合のある、長く退屈なチェックアウト・プロセスのカスタマイズとすることができる。本発明の実施形態は、たとえば、そのユーザが購買ごとに変更する必要のあるフィールドのみを表示することによって、より簡単なプロセスを可能にすることができる。] [0021] 次に図1を参照すると、プロキシ・サーバ12およびクライアント・ブラウザ14を含む、ブラウザ・ベースのプロキシ・サーバ・システム10が示されている。プロキシ・サーバ12は、プロキシ・ブラウザ16、イベント・トランスレータ18、およびトランスコーダ/ウェブ・クリッパ20を含む。プロキシ・ブラウザ16は既存のウェブ・サーバ17に接続される。プロキシ・ブラウザ16は標準ウェブ・ブラウザとすることが可能であり、既存のウェブ・ページに埋め込まれたコードと互換性のある実行エンジン(図示せず)を実装可能である。いくつかの実施形態では、これはJavaScript実行エンジンとすることができる。プロキシ・ブラウザ16は、ブラウザ内に表示されるウェブ・ページへのアクセス、操作、および制御を実行するためのAPIを提供することもできる。いくつかの実施形態では、これに、現在表示されているウェブ・ページのDOMツリー記述の生成が含まれる場合がある。一実施形態では、Mozilla Firefox(R)ブラウザが使用可能であるが、原則として、アドオン・コードがウェブ・ページ・データ構造にアクセス可能な、いかなる最近のブラウザも使用可能である。] 図1 [0022] イベント・トランスレータ18は、クライアント・ブラウザ14から要求を受け取り、それらを、プロキシ・ブラウザ16内に現在含まれているウェブ・ページに適用されることになる動作に変換する。これらの動作の範囲は、リンクのクリックなどの単純なものから、フォームに記入して実行依頼ボタンを押すなどの、より複雑な動作にまで及ぶ。] [0023] トランスコーダ/ウェブ・クリッパ20は、プロキシ・ブラウザ16がその新しいコンテンツのロードを終了した時点を決定する。これは、onLoadイベントを通じて実行可能である。トランスコーダ/ウェブ・クリッパ20は、コンテンツの関連部分も抽出し、クライアント・ブラウザ14に返送される出力も生成する。出力の範囲は、低機能デバイス用の静的HTMLページから、高機能デバイス用の、Cascading Style Sheet(CSS)、動的HTML(DHTML)、およびJavaScriptを備える完全な動的ページにまで及ぶ。生成されるページは、プロキシ・サーバ12に返送されるいかなる要求もイベント・トランスレータ18によって解釈可能であるように、作成されることに留意されたい。] [0024] プロキシ・ブラウザ16、イベント・トランスレータ18、およびトランスコーダ/ウェブ・クリッパ20の動作は、既存のウェブ・ページ・セットがクライアント・ブラウザ14用に修正される方法と、クライアント・ブラウザ内でページ間のナビゲーション用に使用可能な手段とを指定する、アプリケーション記述コンポーネント22によってまとめて結合される。] [0025] 本実施形態では、アプリケーション記述22は、プロキシ・サーバ12によって生成された修正済みウェブ・ページのセットからなる。これらの修正済みウェブ・ページは「ページレット」と呼ばれる。各ページレットは、クライアント・ブラウザによって見ることが可能な1ページを記述する。ページレットは、アプリケーション記述において、クリップ・スクリプト、イベント・スクリプト、およびロード・スクリプトという、3つの異なるスクリプトによって定義される。] [0026] 次に図2を参照すると、ブラウザ・ベースのプロキシ・サーバ・システム10の一実施形態のタイムラインが示されている。具体的に言えば、このタイムライン26は、プロキシ・サーバ12がアプリケーション記述22からのスクリプトを使用してどのように要求を処理するかを示す。具体的に言えば、クライアント・ブラウザ28は、プロキシ・サーバ12によって受信される要求を生成する。クライアント・ブラウザ28は、モバイル・デバイス内または機能が制限された他のデバイス内に常駐可能である。クライアント・ブラウザからの要求に応答して、プロキシ・ブラウザ34は、外部の既存ウェブ・サーバから受信したウェブ・ページを開く。] 図2 [0027] アプリケーション記述22は、第1のページレット30を定義し、第2のページレット40を生成するためにアプリケーション記述22からのどの動作セットがプロキシ・ブラウザ34内で実行されるべきであるかを決定するために、クライアント・ブラウザ28からの要求を解釈する、イベント・スクリプト32を使用する。これらの動作は、要求内にエンコードされない可能性がある。その代わりに、要求は、プロキシ・サーバ12上に格納された動作のリストへのポインタを備えることができる。こうした動作は、クライアント・ブラウザ28内のリンクをクリックすること、またはフォームに記入して実行依頼ボタンを押すことを、含むことができる。イベント・スクリプト32は、プロキシ・ブラウザ34が既存のウェブ・サーバ36から受信した任意の新しいコンテンツのロードを完了した後に発生することになる、適切なブラウザ・イベントも識別する。イベント・スクリプト32は、このイベントが次に発生した際に、ロード・スクリプト38も実行させる。] [0028] ロード・スクリプト38は、プロキシ・ブラウザ34にロードされたページのコンテンツをスキャンし、第2のページレット40などの次のページレットを決定する。第2のページレット40が決定されると、クライアント・ブラウザ28に送信されることになるコンテンツを生成するために、第2のページレット40に関するクリップ・スクリプト42が呼び出される。] [0029] 具体的に言えば、クリップ・スクリプトは、クライアント・ブラウザに送信されることになるページレットのコンテンツを作成する方法を指定する。コンテンツ作成には、主に、プロキシ・ブラウザ34にロードされたページからの要素の選択および抽出と、単一のコヒーレント・ページを作成するためのそれらの組み合わせとが含まれる。クリップ・スクリプト42は、新しいコンテンツも挿入することができる。クリップ・スクリプト42は、外部の既存ウェブ・サーバ36ではなく、プロキシ・サーバ34へと逆にポイントするように、リンクおよびフォームを書き直すこともできる。図2に示されたプロセス26は、その後、無期限に反復可能である。] 図2 [0030] 本発明の実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態、または、ハードウェア要素およびソフトウェア要素の両方を含む実施形態の形を取ることができる。好ましい実施形態は、ファームウェア、常駐ソフトウェア、およびマイクロコードを含むがこれらに限定されない、ソフトウェア内に実装される。] [0031] さらに、本発明の諸実施形態は、コンピュータまたは任意の命令実行システムによって、あるいはそれらに関連して使用するための、プログラム・コードを提供する、コンピュータ使用可能メディアまたはコンピュータ読取可能メディアからアクセス可能な、コンピュータ・プログラム製品の形を取ることができる。本説明では、コンピュータ使用可能メディアまたはコンピュータ読取可能メディアは、命令実行のシステム、装置、またはデバイスによって、あるいはそれらに関連して使用するためのプログラムを、含有、格納、通信、伝搬、または移送することが可能な、任意の装置とすることができる。] [0032] メディアは、電子、磁気、光、電磁、赤外線、半導体のシステム(あるいは装置またはデバイス)、あるいは伝搬メディアとすることができる。コンピュータ読取可能メディアの例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、剛性磁気ディスク、または光ディスクが含まれる。光ディスクの現行例には、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)、コンパクト・ディスク−読み取り/書き込み(CD−R/W)、およびDVDが含まれる。] [0033] プログラム・コードの格納あるいは実行またはその両方に好適なデータ処理システムは、システム・バスを介してメモリ要素に直接または間接的に結合された、少なくとも1つのプロセッサを含むことになる。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量ストレージ、および、実行中に大容量ストレージから取り出さなければならない回数を削減するために少なくとも何らかのプログラム・コードの一時ストレージを提供するキャッシュ・メモリを、含むことができる。] [0034] 入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイスを含むが、これらに限定されない)を、システムに直接、または介在するI/Oコントローラを介して、結合することができる。] [0035] データ処理システムを、介在する専用または公衆のネットワークを介して、他のデータ・処理システムあるいはリモート・プリンタまたはストレージ・デバイスに結合できるようにするために、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム、およびEthernet(TM)カードは、ネットワーク・アダプタの現在使用可能なタイプのうちのごく一部である。] [0036] 図3は、本発明の一実施形態を実装するために有用な情報処理システムを示す高水準ブロック図である。コンピュータ・システムは、プロセッサ44などの1つまたは複数のプロセッサを含む。プロセッサ44は、通信インフラストラクチャ46(たとえば通信バス、クロスオーバ・バー、またはネットワーク)に接続される。様々なソフトウェア実施形態が、この例示的なコンピュータ・システムに関して説明される。当業者がこの説明を読めば、他のコンピュータ・システムあるいはコンピュータ・アーキテクチャまたはその両方を使用して、本発明の諸実施形態を実装する方法が明らかとなろう。] 図3 [0037] コンピュータ・システムは、ディスプレイ・ユニット50上で表示するために、グラフィクス、テキスト、および他のデータを通信インフラストラクチャ46から(または図示されていないフレーム・バッファから)転送する、ディスプレイ・インターフェース48を含むことができる。コンピュータ・システムは、メイン・メモリ52、好ましくはランダム・アクセス・メモリ(RAM)も含み、2次メモリ54も含むことができる。2次メモリ54は、たとえばハード・ディスク・ドライブ56、あるいは、たとえばフレキシブルディスク・ドライブ、磁気テープ・ドライブ、または光ディスク・ドライブを表す取り外し可能ストレージ・ドライブ58、またはその両方を含むことができる。取り外し可能ストレージ・ドライブ58は、当業者であれば周知の方法で、取り外し可能ストレージ・ユニット60からの読み取り、あるいはそれへの書き込み、またはその両方を実行する。取り外し可能ストレージ・ユニット60は、取り外し可能ストレージ・ドライブ58によって読み取られ、それによって書き込まれる、たとえば、フレキシブルディスク、コンパクト・ディスク、磁気テープ、または光ディスクなどを表す。取り外し可能ストレージ・ユニット60は、内部にコンピュータ・ソフトウェアあるいはデータまたはその両方が格納された、コンピュータ読み取り可能メディアを含むことが理解されよう。] [0038] 代替の諸実施形態では、2次メモリ54は、コンピュータ・プログラムまたは他の命令をコンピュータ・システムにロードできるようにするための、他の同様な手段を含むことができる。こうした手段には、たとえば、取り外し可能ストレージ・ユニット62およびインターフェース64を含むことができる。こうした手段の例には、プログラム・カートリッジおよびカートリッジ・インターフェース(ビデオ・ゲーム・デバイスで見られるような)、取り外し可能メモリ・チップ(EPROMまたはPROMなど)および関連ソケット、ならびに、ソフトウェアおよびデータを取り外し可能ストレージ・ユニット62からコンピュータ・システムへと転送できるようにする、他の取り外し可能ストレージ・ユニット62およびインターフェース64を含むことができる。] [0039] コンピュータ・システムは、通信インターフェース66を含むこともできる。通信インターフェース66は、コンピュータ・システムと外部デバイスとの間でソフトウェアおよびデータを転送できるようにする。通信インターフェース66の例には、モデム、ネットワーク・インターフェース(Ethernet(TM)カードなど)、通信ポート、またはPCMCIAスロットおよびカードなどを含むことができる。通信インターフェース66を介して転送されるソフトウェアおよびデータは、たとえば、電子、電磁、光、またはその他の、通信インターフェース66によって受信可能な信号とすることが可能な、信号の形である。これらの信号は、通信パス(すなわちチャネル)68を介して通信インターフェース66に提供される。このチャネル68は信号を搬送し、ワイヤまたはケーブル、光ファイバ、電話回線、セル式電話リンク、RFリンク、あるいは他の通信チャネル、またはそれらすべてを使用して、実装可能である。] [0040] 本明細書では、「コンピュータ・プログラム・メディア」、「コンピュータ使用可能メディア」、および「コンピュータ読取可能メディア」という用語は、一般に、メイン・メモリ52および2次メモリ54、取り外し可能ストレージ・ドライブ58、およびハード・ディスク・ドライブ56にインストールされたハード・ディスクなどの、メディアを言い表すために使用される。] [0041] コンピュータ・プログラム(コンピュータ制御論理とも呼ばれる)は、メイン・メモリ52あるいは2次メモリ54またはその両方に格納される。コンピュータ・プログラムは、通信インターフェース66を介して受信することもできる。こうしたコンピュータ・プログラムは、実行された場合、本明細書で論じたような本発明の諸実施形態の機能を、コンピュータ・システムが実行できるようにする。具体的に言えば、コンピュータ・プログラムは、実行された場合、コンピュータ・システムの機能をプロセッサ44が実行できるようにする。したがって、こうしたコンピュータ・プログラムは、コンピュータ・システムのコントローラを表す。] [0042] 前述の説明から、本発明の諸実施形態が、ブラウザ・ベースのプロキシ・サーバを使用した動的ウェブ・アプリケーションのカスタマイゼーションおよび配布のための、システム、コンピュータ・プログラム製品、および方法を提供することを理解されよう。特許請求の範囲において、単数形の要素は、特に明示的に言い表されない限り、「唯一無二」を意味するのではなく、むしろ「1つまたは複数」を意味するものと意図される。当業者に現在知られているかまたは後に知られることになる、前述の例示的諸実施形態の諸要素に対するすべての構造的および機能的等価物は、本特許請求の範囲によって包含されることになるものと意図される。本明細書のいかなる特許請求の要素も、「ための手段」または「ためのステップ」という句を使用して明示的に記載されていない限り、米国特許法第112条第6段落の下で解釈されるものではない。] [0043] 以上、本発明の好ましい諸実施形態について詳細に説明してきたが、当業者であれば、示された諸実施形態に対する修正および適合が実行可能であることを理解されよう。]
权利要求:
請求項1 プロキシ・サーバ内にウェブ・ブラウザを埋め込み、それによってプロキシ・ブラウザを形成すること、および前記プロキシ・サーバ内部でアプリケーションを実行するために前記プロキシ・ブラウザを使用すること、を含む、少なくとも1つのクライアント・コンピュータ・ソフトウェア・アプリケーションを実行するための方法。 請求項2 前記使用することが、前記プロキシ・サーバに接続している各クライアント・ブラウザに、前記プロキシ・ブラウザのインスタンスを割り当てること、前記クライアント・ブラウザに関するセッション情報を維持すること、および前記クライアント・ブラウザが前記プロキシ・サーバに要求する場合、前記要求を前記プロキシ・ブラウザの前記インスタンスにリンクすること、を含む、請求項1に記載の方法。 請求項3 前記要求が前記クライアント・ブラウザによる第1の要求である場合、前記リンクすることが、前記プロキシ・ブラウザを介してウェブ・ページを開くこと、前記ウェブ・ページ上で前記クライアント・アプリケーションを実行すること、および前記実行の結果として生じる前記ページの前記コンテンツの一部を、前記クライアント・ブラウザに戻すこと、を含む、請求項2に記載の方法。 請求項4 前記要求が前記クライアント・ブラウザによる第1の要求でない場合、前記実行することが、前記要求を前記ウェブ・ページ上で実行するための動作に変換することを含む、請求項3に記載の方法。 請求項5 前記戻すことが、修正済みウェブ・ページを作成することを含む、請求項3に記載の方法。 請求項6 前記作成することが、前記ウェブ・ページから要素を抽出すること、および前記要素を前記修正済みウェブ・ページと組み合わせること、を含む、請求項5に記載の方法。 請求項7 前記作成することが、前記修正済みウェブ・ページに新しいコンテンツを挿入することを含む、請求項5に記載の方法。 請求項8 前記実行することが、次の修正済みウェブ・ページを生成するために、前記プロキシ・ブラウザへの動作セットの適用を決定するように、前記要求を解釈することを含む、請求項3に記載の方法。 請求項9 前記ウェブ・ページの前記コンテンツをスキャンすること、および次の修正済みウェブ・ページを決定すること、をさらに含む、請求項3に記載の方法。 請求項10 プロキシ・サーバ内にウェブ・プラウザを配置し、それによってプロキシ・ブラウザを形成すること、前記プロキシ・サーバ内のイベント・トランスレータを前記プロキシ・ブラウザに論理的に接続すること、および、前記プロキシ・サーバ内のトランスコーダを前記プロキシ・ブラウザおよび前記イベント・トランスレートへと論理的にインターフェースすること、を含む、プロキシ・サーバ内にウェブ・ブラウザを埋め込む方法。 請求項11 前記配置することが、表示されることになるウェブ・ページ内に埋め込まれたコードを前記ウェブ・ブラウザに実装させること、前記ウェブ・ページを制御するために、前記ウェブ・ブラウザにアプリケーション・プログラム・インターフェースを実装させること、を含む、請求項10に記載の方法。 請求項12 前記接続することが、前記イベント・トランスレータに、クライアント・ブラウザからの少なくとも1つの要求を、前記プロキシ・ブラウザ内に含まれるウェブ・ページに適用されることになる動作へと変換させることを含む、請求項10に記載の方法。 請求項13 前記インターフェースすることが、前記プロキシ・ブラウザがその新しいコンテンツのロードを完了した時点を前記トランスコーダに決定させること、前記トランスコーダに、前記プロキシ・ブラウザから前記コンテンツの関連部分を抽出させること、および前記トランスコーダが、前記クライアント・ブラウザに出力を送信できるようにすること、を含む、請求項10に記載の方法。 請求項14 プロキシ・サーバ内に格納されたプロキシ・ブラウザによってクライアント・ブラウザから要求を受信すること、前記要求を動作に変換すること、前記動作を前記プロキシ・ブラウザ内のウェブ・ページに適用すること、前記ウェブ・ページの関連部分を抽出すること、および、前記抽出された前記ウェブ・ページの関連部分を使用して、前記クライアント・ブラウザによって読み取り可能な出力を生成すること、を含む、ウェブ・アプリケーションへのアクセスを提供する方法。 請求項15 前記生成することが、前記クライアント・ブラウザの機能に適合されたスクリプトが埋め込まれたHTMLページを生成することを含む、請求項14に記載の方法。 請求項16 前記クライアント・ブラウザに関して既存ウェブ・ページのセットが修正される方法を指定し、ウェブ・ページ間をナビゲートするために前記クライアント・ブラウザ内で使用可能な手段を指定するための、アプリケーション記述を作成することをさらに含む、請求項14に記載の方法。 請求項17 外部ウェブ・サーバに結合されたプロキシ・ブラウザと、クライアント・ブラウザからの要求を受信するためのイベント・トランスレータと、前記プロキシ・ブラウザによって前記外部ウェブ・サーバから受信したコンテンツの関連部分を抽出し、前記クライアント・ブラウザに送信される出力を生成するための、トランスコーダと、を備える、プロキシ・サーバ。 請求項18 前記クライアント・ブラウザに関して既存ウェブ・ページのセットが修正される方法を指定するため、および、ウェブ・ページ間をナビゲートするために前記クライアント・ブラウザ内で使用可能な手段を指定するための、アプリケーション記述コンポーネントをさらに備える、請求項17に記載のプロキシ・サーバ。 請求項19 前記クライアント・ブラウザからの要求を前記プロキシ・ブラウザ内で実行するための動作に解析するための、イベント・スクリプト・コンポーネントをさらに備える、請求項17に記載のプロキシ・サーバ。 請求項20 前記プロキシ・ブラウザ内にロードされた前記既存ウェブ・ページの前記コンテンツをスキャンし、修正済みウェブ・ページを決定するための、ロード・スクリプト・コンポーネントをさらに備える、請求項18に記載のプロキシ・サーバ。 請求項21 前記クライアント・ブラウザに送信されることになる前記修正済みウェブ・ページの前記コンテンツを作成する方法を指定するための、クリップ・スクリプト・コンポーネントをさらに備える、請求項20に記載のプロキシ・サーバ。 請求項22 コンピュータ読み取り可能プログラムを有するコンピュータ使用可能メディアを備え、前記コンピュータ読み取り可能プログラムは、コンピュータ上で実行された場合、プロキシ・サーバ内にウェブ・ブラウザを埋め込み、それによってプロキシ・ブラウザを形成すること、および、前記プロキシ・サーバ内部でクライアント・アプリケーションを実行するために前記プロキシ・ブラウザを使用すること、を、前記コンピュータに実行させる、コンピュータ・プログラム。 請求項23 前記コンピュータ読み取り可能プログラムが、前記プロキシ・サーバに接続している各クライアント・ブラウザに、前記プロキシ・ブラウザのインスタンスを割り当てること、前記クライアント・ブラウザに関するセッション情報を維持すること、および前記クライアント・ブラウザが前記プロキシ・サーバに要求する場合、前記要求を前記プロキシ・ブラウザの前記インスタンスにリンクすること、を、さらに前記コンピュータに実行させる、請求項22に記載のコンピュータ・プログラム。 請求項24 前記要求が前記クライアント・ブラウザによる第1の要求である場合、前記コンピュータ読み取り可能プログラムが、前記プロキシ・ブラウザを介してウェブ・ページを開くこと、前記ウェブ・ページ上で前記クライアント・アプリケーションを実行すること、および前記実行の結果として生じる前記ページの前記コンテンツの一部を、前記クライアント・ブラウザに戻すこと、を、さらに前記コンピュータに実行させる、請求項23に記載のコンピュータ・プログラム。 請求項25 前記要求が前記クライアント・ブラウザによる第1の要求でない場合、前記コンピュータ読み取り可能プログラムが、前記要求を前記ウェブ・ページ上で実行するための動作に変換することを、さらに前記コンピュータに実行させる、請求項24に記載のコンピュータ・プログラム。
类似技术:
公开号 | 公开日 | 专利标题 US10048948B2|2018-08-14|Optimized retrieval of custom string resources US10409566B2|2019-09-10|Web-based scan-task enabled system, and method of and apparatus for developing and deploying the same on a client-server network US9471553B2|2016-10-18|Automatically rendering web or hybrid applications natively US20170364526A1|2017-12-21|Systems and Methods for Remote Replay of User Interaction with a Webpage US9355081B2|2016-05-31|Transforming HTML forms into mobile native forms US20170169001A1|2017-06-15|Combining server-side and client-side user interface elements AU2013293535B2|2016-01-14|Providing access to a remote application via a web client US8789015B2|2014-07-22|Integrated application localization US9021367B2|2015-04-28|Metadata capture for screen sharing Paulson2005|Building rich web applications with Ajax US8539336B2|2013-09-17|System for linking to documents with associated annotations Mahemoff2006|AJAX design patterns: creating Web 2.0 sites with programming and usability patterns US8849957B1|2014-09-30|Installable web applications US7506248B2|2009-03-17|Asynchronously loading dynamically generated content across multiple internet domains US8612933B1|2013-12-17|Cross-platform mobile application development JP5821678B2|2015-11-24|ウェブ・アプリケーションのブラウザに依存しない自動互換性チェックのためのウェブ・サービス AU2010201376B2|2012-01-19|Increasing portability of document-based user interface software objects KR101317972B1|2013-10-18|웹 브라우저들 사이에서 웹 브라우저 데이터를 전송하기위한 방법 및 시스템 EP1156427B1|2008-06-11|Postback input handling by server-side control objects US6801224B1|2004-10-05|Method, system, and program for generating a graphical user interface window for an application program US7426734B2|2008-09-16|Facilitating presentation functionality through a programming interface media namespace TW413764B|2000-12-01|Method for generating display control information and computer US7461134B2|2008-12-02|Bi-directional communication between a web client and a web server TWI313417B|2009-08-11|Dynamic wizard interface system and method JP5225399B2|2013-07-03|デスクトップ・アプリケーション移行のためのシステムと方法
同族专利:
公开号 | 公开日 WO2009090176A1|2009-07-23| US20090182844A1|2009-07-16| KR101507629B1|2015-03-31| US8078694B2|2011-12-13| US7664862B2|2010-02-16| US20090182803A1|2009-07-16| JP5363506B2|2013-12-11| CN101911075A|2010-12-08| EP2238547A1|2010-10-13| KR20100113071A|2010-10-20| CN101911075B|2015-02-25|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5727159A|1996-04-10|1998-03-10|Kikinis; Dan|System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers| US5918013A|1996-06-03|1999-06-29|Webtv Networks, Inc.|Method of transcoding documents in a network environment using a proxy server| US6829746B1|1999-12-09|2004-12-07|International Business Machines Corp.|Electronic document delivery system employing distributed document object model based transcoding| JP2002215503A|2001-01-17|2002-08-02|Sony Corp|変換装置及び方法、課金方法、並びにスクリプト変換システム及び方法| US20030061387A1|2001-09-24|2003-03-27|International Business Machines Corp.|System and method for transcoding support of web content over secure connections|WO2014126069A1|2013-02-12|2014-08-21|日本電信電話株式会社|出力機能分割システム| JP2015026151A|2013-07-25|2015-02-05|日本電信電話株式会社|情報処理装置、情報処理方法、データ構造及び情報処理プログラム| JP2015130107A|2014-01-08|2015-07-16|日本電信電話株式会社|コンテンツ分散制御システム、コンテンツ分散制御装置、機器、コンテンツ分散制御方法およびコンテンツ分散制御プログラム| JP2017504092A|2013-11-11|2017-02-02|アダロム・インコーポレイテッド|Cloud service security broker and proxy| US10324702B2|2014-09-12|2019-06-18|Microsoft Israel Research And DevelopmentLtd.|Cloud suffix proxy and a method thereof|US6049821A|1997-01-24|2000-04-11|Motorola, Inc.|Proxy host computer and method for accessing and retrieving information between a browser and a proxy| US5918159A|1997-08-04|1999-06-29|Fomukong; Mundi|Location reporting satellite paging system with optional blocking of location reporting| JP3396177B2|1999-01-26|2003-04-14|インターナショナル・ビジネス・マシーンズ・コーポレーション|ウェブページカスタマイズシステム| US6738803B1|1999-09-03|2004-05-18|Cisco Technology, Inc.|Proxy browser providing voice enabled web application audio control for telephony devices| US6912691B1|1999-09-03|2005-06-28|Cisco Technology, Inc.|Delivering voice portal services using an XML voice-enabled web server| AU4054700A|2000-03-31|2001-10-15|Telogy Networks Inc|Proxy internet browsing| US20020026507A1|2000-08-30|2002-02-28|Sears Brent C.|Browser proxy client application service provider interface| US6880014B2|2001-09-24|2005-04-12|International Business Machines Corporation|Method and system of use of transcode directives for distributed control of transcoding servers| US6944665B2|2001-09-24|2005-09-13|International Business Machines Corporation|Method and system for delivering accessibility using a distributed environment| US7424459B2|2002-03-01|2008-09-09|Lightsurf Technologies, Inc.|System providing methods for dynamic customization and personalization of user interface| JP4571509B2|2002-12-02|2010-10-27|エスアーペーアーゲーSapAg|セッション復帰可能な、処理状態を把握するウェブアプリケーション| US20040183817A1|2002-12-03|2004-09-23|Bitstream Inc.|Methods, systems, and programming for scaled display of web pages| US7853882B2|2006-04-11|2010-12-14|International Business Machines Corporation|Portlets having different portlet specific enablement states| US20080005282A1|2006-07-03|2008-01-03|Dewey Gaedcke|Method for displaying user generated content in a web browser| US7865943B2|2006-09-22|2011-01-04|Oracle International Corporation|Credential vault encryption| US8775603B2|2007-05-04|2014-07-08|Sitespect, Inc.|Method and system for testing variations of website content| US7664862B2|2008-01-14|2010-02-16|International Business Machines Corporation|Browser-based proxy server for customization and distribution of existing applications|US8732794B2|2007-08-13|2014-05-20|Trusteer Ltd.|Browser plug-in firewall| US9081956B2|2008-05-26|2015-07-14|Trusteer Ltd.|Remote DOM access| US7664862B2|2008-01-14|2010-02-16|International Business Machines Corporation|Browser-based proxy server for customization and distribution of existing applications| US20110093801A1|2008-06-30|2011-04-21|Kazuya Koyama|Application extension system, extension method, extension program| US8965926B2|2008-12-17|2015-02-24|Microsoft Corporation|Techniques for managing persistent document collections| US8719697B2|2009-10-29|2014-05-06|Rakuten, Inc.|Object control method for displaying objects in front of link elements| CN102193953B|2010-03-17|2017-04-12|日电(中国)有限公司|桌面应用迁移系统和方法| CN102200976B|2010-03-23|2014-11-05|日电(中国)有限公司|桌面应用转换成网络应用的定制系统和方法| US8977693B2|2010-04-27|2015-03-10|Mindware, Inc.|Browser based application development framework| WO2011148342A1|2010-05-26|2011-12-01|Nokia Corporation|Method and apparatus for enabling generation of multiple independent user interface elements from a web page| CN102271142B|2010-06-01|2015-01-28|中兴通讯股份有限公司|一种业务开发平台、系统及方法| US9519425B1|2010-06-28|2016-12-13|EMC IP Holding Company, LLC|Techniques for device user interfaces| US8370899B2|2010-08-11|2013-02-05|Emc Corporation|Disposable browser for commercial banking| US9160693B2|2010-09-27|2015-10-13|Blackberry Limited|Method, apparatus and system for accessing applications and content across a plurality of computers| US8909697B2|2010-11-29|2014-12-09|Hughes Network Systems, Llc|Computer networking system and method with javascript execution for pre-fetching content from dynamically-generated URL and javascript injection to modify date or random number calculation| US8555384B1|2010-12-10|2013-10-08|Amazon Technologies, Inc.|System and method for gathering data for detecting fraudulent transactions| US8782174B1|2011-03-31|2014-07-15|Emc Corporation|Uploading and downloading unsecured files via a virtual machine environment| KR20120134287A|2011-06-02|2012-12-12|주식회사 비씨클라우드|동적 웹 라우팅 방법| US9621406B2|2011-06-30|2017-04-11|Amazon Technologies, Inc.|Remote browsing session management| US8706860B2|2011-06-30|2014-04-22|Amazon Technologies, Inc.|Remote browsing session management| US8577963B2|2011-06-30|2013-11-05|Amazon Technologies, Inc.|Remote browsing session between client browser and network based browser| CN103748583B|2011-06-30|2017-07-07|亚马逊技术有限公司|远程浏览会话管理| US9195768B2|2011-08-26|2015-11-24|Amazon Technologies, Inc.|Remote browsing session management| US8930492B2|2011-10-17|2015-01-06|Blackberry Limited|Method and electronic device for content sharing| EP2587397A1|2011-10-28|2013-05-01|Telefonaktiebolaget LM Ericsson |Browser device access proxy| US9015809B2|2012-02-20|2015-04-21|Blackberry Limited|Establishing connectivity between an enterprise security perimeter of a device and an enterprise| US9489356B2|2012-05-07|2016-11-08|Digital Guardian, Inc.|Enhanced document and event mirroring for accessing internet content| US9348927B2|2012-05-07|2016-05-24|Smart Security Systems Llc|Systems and methods for detecting, identifying and categorizing intermediate nodes| US9325676B2|2012-05-24|2016-04-26|Ip Ghoster, Inc.|Systems and methods for protecting communications between nodes| US10778659B2|2012-05-24|2020-09-15|Smart Security Systems Llc|System and method for protecting communications| US8769631B2|2012-06-18|2014-07-01|Intel Corporation|Creating a web proxy inside a browser| US10521250B2|2012-09-12|2019-12-31|The Directv Group, Inc.|Method and system for communicating between a host device and user device through an intermediate device using a composite video signal| US9137501B2|2012-09-12|2015-09-15|The Directv Group, Inc.|Method and system for communicating between a host device and user device through an intermediate device using syntax translation| US9535722B2|2012-09-12|2017-01-03|The Directv Group, Inc.|Method and system for communicating between a host device and a user device through an intermediate device using a composite graphics signal| CN102981705B|2012-11-09|2018-04-27|北京奇虎科技有限公司|服务器端浏览器实现方法及服务器| CN102917074B|2012-11-09|2016-08-03|北京奇虎科技有限公司|一种实现服务器端浏览器的方法和服务器| JP6354197B2|2013-03-15|2018-07-11|株式会社リコー|配信制御システム、配信制御方法、及びプログラム| JP6337499B2|2013-03-15|2018-06-06|株式会社リコー|配信制御システム、配信システム、配信制御方法、及びプログラム| US9497492B2|2013-03-15|2016-11-15|Ricoh Company, Limited|Distribution control system, distribution system, distribution control method, and computer-readable storage medium| JP6369043B2|2013-03-15|2018-08-08|株式会社リコー|配信制御システム、配信システム、配信制御方法、及びプログラム| JP2014200076A|2013-03-15|2014-10-23|株式会社リコー|配信制御システム、配信制御方法、及びプログラム| JP2014199648A|2013-03-15|2014-10-23|株式会社リコー|配信制御システム、配信システム、配信制御方法、及びプログラム| JP6323048B2|2013-03-15|2018-05-16|株式会社リコー|配信システム、配信方法、及びプログラム| EP2974327A4|2013-03-15|2016-03-09|Ricoh Co Ltd|Distribution control system and distribution system| JP6398215B2|2013-03-15|2018-10-03|株式会社リコー|配信制御システム、配信システム、配信制御方法、及びプログラム| US9645983B1|2013-06-18|2017-05-09|Amazon Technologies, Inc.|Modifying a document at a script processing server using a client device's state information| US9916720B2|2013-08-02|2018-03-13|Bally Gaming, Inc.|Intelligent wagering game content distribution| US10078712B2|2014-01-14|2018-09-18|Energid Technologies Corporation|Digital proxy simulation of robotic hardware| EP3100405A4|2014-01-29|2017-08-30|Smart Security Systems LLC|Systems and methods for protecting communications| US20180196649A1|2015-07-20|2018-07-12|Ent. Services Development Corporation Lp|Web application adjustment for different browsers|
法律状态:
2011-11-15| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111114 | 2012-10-25| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121025 | 2012-10-31| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121030 | 2013-01-26| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130125 | 2013-03-06| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130305 | 2013-08-14| TRDD| Decision of grant or rejection written| 2013-08-21| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130820 | 2013-09-12| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130905 | 2013-09-13| R150| Certificate of patent or registration of utility model|Ref document number: 5363506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 | 2019-09-13| LAPS| Cancellation because of no payment of annual fees|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|